// author by welong
// zuowl@qq.com
// 2014-09-05  19:41
// PAT basic 1019

// not get all point, 19/20

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define DEBUG

int main(int argc, char **argv)
{
	int i, j, input = 0, temp, count;
	int bit[4]={0}, min1, min2;
	
#ifndef DEBUG
	scanf("%d", &input);
#else
	while(1)
	{
		scanf("%d", &input);
#endif
		for(;input != 6174;)
		{
			for(i=0, temp=input, count=0; temp != 0; i++)
			{
				count++;
				bit[i] = temp % 10;
				temp /= 10;
			}
			
			for(;count < 4; count++)
				bit[count] = 0;
			
			if(bit[0] == bit[1] && bit[2] == bit[3] && bit[0] == bit[2])
			{
				printf("%d - %d = 0000\n", input, input);
				return 0;
			}
			
			for(i = 0; i < 3; i++)
			{
				for(j = 0; j < 3-i; j++)
				{
					if(bit[j] < bit[j+1])
					{
						temp = bit[j];
						bit[j] = bit[j+1];
						bit[j+1] = temp;
					}
				}
			}
			
			min1 = bit[0];
			min2 = bit[3];
			
			for(i = 0; i < 3 ; i++)
			{
				min1 *= 10;
				min1 += bit[i+1];
				
				min2 *= 10;
				min2 += bit[2-i];
			}
			
			input = min1 - min2;
			printf("%04d - %04d = %04d\n", min1, min2, input);
		}
#ifdef DEBUG
	}
#endif
	
	return 0;
}
